package com.efuture.chapterfive

/* @Description: Kotlin语言智能类型转换
 * @Auther: zhaoshanshan
 * @Date: 2022/03/07/12:25 下午
 */
open class Person3(val name:String){
    open fun method1()= println("我是父类方法一")
}
class Student3(private val stuName:String):Person3(stuName){
    override fun method1() {
        println("我是子类方法一")
    }
    fun methodStudent(){
        println("我是子类方法二")
    }
}

fun main() {

    val p:Person3 = Student3("赵山山")
    //p.methodStudent() 直接调用这行会报错
    (p as Student3).methodStudent() //智能类型转换 会根据as转换成的类型 自动明白 你现在的类型就是转换后的类型 后面可以直接使用
    p.methodStudent()//自动使用转换后的类型
    p.methodStudent()//自动使用转换后的类型

}